home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / lib / include / ds3100.md / sys / machSignal.h < prev    next >
C/C++ Source or Header  |  1991-09-03  |  2KB  |  57 lines

  1. /*
  2.  * Copyright (c) 1991, Regents of the University of California.
  3.  * All rights reserved.  The Berkeley software License Agreement
  4.  * specifies the terms and conditions for redistribution.
  5.  *
  6.  *    @(#)machSignal.h    7.3 (Berkeley) 5/14/88
  7.  * $Header: /sprite/src/lib/include/ds3100.md/sys/RCS/machSignal.h,v 1.1 91/08/26 14:44:23 shirriff Exp Locker: shirriff $
  8.  */
  9.  
  10. #ifndef _SYS_SIGNAL
  11. #define _SYS_SIGNAL
  12. /*
  13.  * Information pushed on stack when a signal is delivered.
  14.  * This is used by the kernel to restore state following
  15.  * execution of the signal handler.  On some systems it is also made
  16.  * available to the handler to allow it to properly restore state if a
  17.  * non-standard exit is performed.  However, user programs should not
  18.  * rely on having access to this information.
  19.  */
  20. /*
  21.  * WARNING: THE sigcontext MUST BE KEPT CONSISTENT WITH /usr/include/setjmp.h
  22.  * AND THE LIBC ROUTINES setjmp() AND longjmp()
  23.  */
  24. /*
  25.  * This declaration comes from:
  26.  * /sprite/src/kernel/mach/ds3100.md/ultrixSignal.h.
  27.  */
  28. struct    sigcontext {
  29.     int    sc_onstack;        /* sigstack state to restore */
  30.     int    sc_mask;        /* signal mask to restore */
  31.     int    sc_pc;            /* pc at time of signal */
  32.     /*
  33.      * General purpose registers
  34.      */
  35.     int    sc_regs[32];    /* processor regs 0 to 31 */
  36.     int    sc_mdlo;    /* mul/div low */
  37.     int    sc_mdhi;    /* mul/div high */
  38.     /*
  39.      * Floating point coprocessor state
  40.      */
  41.     int    sc_ownedfp;    /* fp has been used */
  42.     int    sc_fpregs[32];    /* fp regs 0 to 31 */
  43.     int    sc_fpc_csr;    /* floating point control and status reg */
  44.     int    sc_fpc_eir;    /* floating point exception instruction reg */
  45.     /*
  46.      * END OF REGION THAT MUST AGREE WITH setjmp.h
  47.      * END OF jmp_buf REGION
  48.      */
  49.     /*
  50.      * System coprocessor registers at time of signal
  51.      */
  52.     int    sc_cause;    /* cp0 cause register */
  53.     int    sc_badvaddr;    /* cp0 bad virtual address */
  54.     int    sc_badpaddr;    /* cpu bd bad physical address */
  55. };
  56. #endif /* _SYS_SIGNAL */
  57.